package com.zmn.oms.common.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * 类描述：
 * @author heciqi
 * @date 2021/10/19 16:05
 */
public class OmsEventsConsts {

	/***********************给各个业务系统公共订阅类tag*********************/
	/**
	 * 下单
	 */
	public final static String ORDER_ADD = "order_add";
	/**
	 * 下单
	 */
	public final static String ORDER_UPDATE = "order_update";

	/**
	 * 确认
	 */
	public final static String ORDER_CONFIRM = "order_confirm";

	/**
	 * 转单
	 */
	public final static String ORDER_TURN = "order_turn";

	/**
	 * 地址修改
	 */
	public final static String ORDER_UPDATE_ADDRESS = "order_update_address";

	/**
	 * 上门
	 */
	public final static String ORDER_VISIT = "order_visit";

	/**
	 * 服务完成
	 */
	public final static String ORDER_SERVICE_COMPLETE = "order_service_complete";

	/**
	 * 订单完成
	 */
	public final static String ORDER_COMPLETE = "order_complete";

	/**
	 * 电话修改
	 */
	public final static String ORDER_UPDATE_PHONE = "order_update_phone";

	/**
	 * 预约时间修改
	 */
	public final static String ORDER_UPDATE_DUTYTIME = "order_update_dutytime";

	/**
	 * 订单被挂起
	 */
	public final static String ORDER_SUSPEND = "order_suspend";

	/**
	 * 生成保修卡
	 */
	public final static String ORDER_GEN_WARRANTY = "order_genwarranty";

	/**
	 * 取消
	 */
	public final static String ORDER_CANCEL = "order_cancel";

	/**
	 * 分单
	 */
	public final static String ORDER_ASSIGN = "order_assign";

	/**
	 * 派单
	 */
	public final static String ORDER_DISTRIBUTE = "order_distribute";

	/**
	 * 工程师出发
	 */
	public final static String ORDER_MASTER_LEAVE = "order_master_leave";

	/**
	 * 联系客户
	 */
	public final static String ORDER_CONTACT_USER = "order_contact_user";

	/**
	 * 收单
	 */
	public final static String ORDER_CHECKOUT = "order_checkout";

	/**
	 * 延迟自动收单队列
	 */
	public final static String ORDER_DELAY_CHECKOUT = "order_delay_checkout";

	/**
	 * 算账
	 */
	public final static String ORDER_ACCOUNT = "order_account";

	/**
	 * 拉修
	 */
	public final static String ORDER_DELIVERY = "order_delivery";

	/**
	 * 待件
	 */
	public final static String ORDER_WAIT_PART = "order_wait_part";

	/**
	 * 确认失败
	 */
	public final static String ORDER_CONFIRM_FAIL = "order_confirm_fail";


	/**
	 * 节点公共订阅
	 */
	public static Map<Integer, String> SYNC_ORDER_NODE_MAP = new HashMap<Integer, String>() {
		{
			put(OrderLogConsts.ORDER_LOG_TYPE_INPUT, PublishTagConsts.PUBLISH_ORDER_ADD);
			put(OrderLogConsts.ORDER_LOG_TYPE_CONFIRM, PublishTagConsts.PUBLISH_ORDER_CONFIRM);
			put(OrderLogConsts.ORDER_LOG_TYPE_TURN, PublishTagConsts.PUBLISH_ORDER_TURN);
			put(OrderLogConsts.ORDER_LOG_TYPE_UPDATE_ADDRESS, PublishTagConsts.PUBLISH_ORDER_UPDATE_ADDRESS);
			put(OrderLogConsts.ORDER_LOG_TYPE_MODIFY_PRODUCT, PublishTagConsts.PUBLISH_ORDER_UPDATE_PRODUCT);
			put(OrderLogConsts.ORDER_LOG_TYPE_REFUND, PublishTagConsts.PUBLISH_ORDER_ADD);
			put(OrderLogConsts.ORDER_LOG_TYPE_UPDATE, PublishTagConsts.PUBLISH_ORDER_UPDATE_PHONE);
			put(OrderLogConsts.ORDER_LOG_TYPE_MASTER_MODIFY_DUTY_TIME, PublishTagConsts.PUBLISH_ORDER_UPDATE_DUTYTIME);
			put(OrderLogConsts.ORDER_LOG_TYPE_ASSIGN, PublishTagConsts.PUBLISH_ORDER_ASSIGN);
			put(OrderLogConsts.ORDER_LOG_TYPE_DISTRIBUTE, PublishTagConsts.PUBLISH_ORDER_DISTRIBUTE);
			put(OrderLogConsts.ORDER_LOG_TYPE_TAKE, PublishTagConsts.PUBLISH_ORDER_MASTER_TAKE);
			put(OrderLogConsts.ORDER_LOG_TYPE_VISIT, PublishTagConsts.PUBLISH_ORDER_VISIT);
			put(OrderLogConsts.ORDER_LOG_TYPE_APPLY_MULTIPLE_VISIT, PublishTagConsts.PUBLISH_ORDER_APPLY_MULTIPLE_VISIT);
			put(OrderLogConsts.ORDER_LOG_TYPE_SERVICE_COMPLETE, PublishTagConsts.PUBLISH_ORDER_SERVICE_COMPLETE);
			put(OrderLogConsts.ORDER_LOG_TYPE_COMPLETE, PublishTagConsts.PUBLISH_ORDER_COMPLETE);
			put(OrderLogConsts.ORDER_LOG_TYPE_CANCEL, PublishTagConsts.PUBLISH_ORDER_CANCEL);
			put(OrderLogConsts.ORDER_LOG_TYPE_WARRANTY, PublishTagConsts.PUBLISH_ORDER_GEN_WARRANTY);
			put(OrderLogConsts.ORDER_LOG_TYPE_MASTER_LEAVE, PublishTagConsts.PUBLISH_ORDER_MASTER_LEAVE);
			put(OrderLogConsts.ORDER_LOG_TYPE_CONTACT_USER, PublishTagConsts.PUBLISH_ORDER_CONTACT_USER);
			put(OrderLogConsts.ORDER_LOG_TYPE_CHECKOUT, PublishTagConsts.PUBLISH_ORDER_CHECKOUT);
			put(OrderLogConsts.ORDER_LOG_TYPE_ACCOUNT, PublishTagConsts.PUBLISH_ORDER_ACCOUNT);
			put(OrderLogConsts.ORDER_LOG_TYPE_ORDER_WORK_TAG, PublishTagConsts.PUBLISH_ORDER_TAG);
			put(OrderLogConsts.ORDER_LOG_TYPE_REFUND_RESULT,PublishTagConsts.PUBLISH_ORDER_TAG);
		}
	};
}
